// 路由器管理路由的

// 1.引入插件
import VueRouter from "vue-router";

// 3.引入要用的组件
import Home from '@/components/Home'
import Login from '@/components/Login'
import Welcome from '@/components/Welcome'
import ListShow from '@/components/goodsList/ListShow'
import List from '@/components/goodsList/List'

// 2.创建router实例对象并暴露
const router=new VueRouter({
  routes:[
    {
      // 重定向  当访问根路径的时候自动跳转到根路径
      path:'/',
      redirect:'/login'
    },
    {
      // path是路径展示在页面的
      path:'/login',
      // 跳转的组件
      component:Login
    },
    {
      // path是路径展示在页面的
      path:'/home',
      // 跳转的组件
      component:Home,
      redirect:'/welcome',
      children:[
        {
          path:'/welcome',
          component:Welcome
        },{
          path:'/ListShow',
          component:ListShow
        },{
          path:'/List',
          component:List
        },
      ]
    },
  ]
})

// 挂在路由导航守卫
router.beforeEach((to,from,next)=>{
  // to 将要访问的路径  from 代表从哪儿来的 next() 放行函数  next('/login') 强行跳转
  if(to.path === '/login') return next();
  // 获取token
  const tokenStr=window.sessionStorage.getItem('token')
  if(!tokenStr) return next('/login')
  next()
})

// 暴露路由对象
export default router